{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Finding and understanding relationships in data\n", "\n", "In today's data-driven world, we are constantly bombarded with vast amounts of information. However, this raw data is often meaningless without the ability to identify relationships and patterns within it.\n", "\n", "Finding and understanding relationships in data is crucial for making informed decisions, developing predictive models, and discovering new insights. Through the use of statistical techniques and machine learning algorithms, we can uncover hidden connections and dependencies between variables, enabling us to make accurate predictions and improve our understanding of complex systems.\n", "\n", "Whether in business, science, or everyday life, the ability to analyze and interpret data is becoming increasingly important, and finding relationships within it is an essential skill for success." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## How To" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
longitudelatitudehousing_median_agetotal_roomstotal_bedroomspopulationhouseholdsmedian_incomemedian_house_valueocean_proximity
0-122.2337.8841.0880.0129.0322.0126.08.3252452600.0NEAR BAY
1-122.2237.8621.07099.01106.02401.01138.08.3014358500.0NEAR BAY
2-122.2437.8552.01467.0190.0496.0177.07.2574352100.0NEAR BAY
3-122.2537.8552.01274.0235.0558.0219.05.6431341300.0NEAR BAY
4-122.2537.8552.01627.0280.0565.0259.03.8462342200.0NEAR BAY
\n", "
" ], "text/plain": [ " longitude latitude housing_median_age total_rooms total_bedrooms \\\n", "0 -122.23 37.88 41.0 880.0 129.0 \n", "1 -122.22 37.86 21.0 7099.0 1106.0 \n", "2 -122.24 37.85 52.0 1467.0 190.0 \n", "3 -122.25 37.85 52.0 1274.0 235.0 \n", "4 -122.25 37.85 52.0 1627.0 280.0 \n", "\n", " population households median_income median_house_value ocean_proximity \n", "0 322.0 126.0 8.3252 452600.0 NEAR BAY \n", "1 2401.0 1138.0 8.3014 358500.0 NEAR BAY \n", "2 496.0 177.0 7.2574 352100.0 NEAR BAY \n", "3 558.0 219.0 5.6431 341300.0 NEAR BAY \n", "4 565.0 259.0 3.8462 342200.0 NEAR BAY " ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "df = pd.read_csv(\"data/housing.csv\")\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
longitudelatitudehousing_median_agetotal_roomstotal_bedroomspopulationhouseholdsmedian_incomemedian_house_value
longitude1.000000-0.924664-0.1081970.0445680.0696080.0997730.055310-0.015176-0.045967
latitude-0.9246641.0000000.011173-0.036100-0.066983-0.108785-0.071035-0.079809-0.144160
housing_median_age-0.1081970.0111731.000000-0.361262-0.320451-0.296244-0.302916-0.1190340.105623
total_rooms0.044568-0.036100-0.3612621.0000000.9303800.8571260.9184840.1980500.134153
total_bedrooms0.069608-0.066983-0.3204510.9303801.0000000.8777470.979728-0.0077230.049686
population0.099773-0.108785-0.2962440.8571260.8777471.0000000.9072220.004834-0.024650
households0.055310-0.071035-0.3029160.9184840.9797280.9072221.0000000.0130330.065843
median_income-0.015176-0.079809-0.1190340.198050-0.0077230.0048340.0130331.0000000.688075
median_house_value-0.045967-0.1441600.1056230.1341530.049686-0.0246500.0658430.6880751.000000
\n", "
" ], "text/plain": [ " longitude latitude housing_median_age total_rooms \\\n", "longitude 1.000000 -0.924664 -0.108197 0.044568 \n", "latitude -0.924664 1.000000 0.011173 -0.036100 \n", "housing_median_age -0.108197 0.011173 1.000000 -0.361262 \n", "total_rooms 0.044568 -0.036100 -0.361262 1.000000 \n", "total_bedrooms 0.069608 -0.066983 -0.320451 0.930380 \n", "population 0.099773 -0.108785 -0.296244 0.857126 \n", "households 0.055310 -0.071035 -0.302916 0.918484 \n", "median_income -0.015176 -0.079809 -0.119034 0.198050 \n", "median_house_value -0.045967 -0.144160 0.105623 0.134153 \n", "\n", " total_bedrooms population households median_income \\\n", "longitude 0.069608 0.099773 0.055310 -0.015176 \n", "latitude -0.066983 -0.108785 -0.071035 -0.079809 \n", "housing_median_age -0.320451 -0.296244 -0.302916 -0.119034 \n", "total_rooms 0.930380 0.857126 0.918484 0.198050 \n", "total_bedrooms 1.000000 0.877747 0.979728 -0.007723 \n", "population 0.877747 1.000000 0.907222 0.004834 \n", "households 0.979728 0.907222 1.000000 0.013033 \n", "median_income -0.007723 0.004834 0.013033 1.000000 \n", "median_house_value 0.049686 -0.024650 0.065843 0.688075 \n", "\n", " median_house_value \n", "longitude -0.045967 \n", "latitude -0.144160 \n", "housing_median_age 0.105623 \n", "total_rooms 0.134153 \n", "total_bedrooms 0.049686 \n", "population -0.024650 \n", "households 0.065843 \n", "median_income 0.688075 \n", "median_house_value 1.000000 " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.corr()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "0.918484492654308" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.total_rooms.corr(df.households)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## More than linear correlation" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "from discover_feature_relationships import discover" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "rel = discover.discover(df.sample(500))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
featurehouseholdshousing_median_agelatitudelongitudemedian_house_valuemedian_incomeocean_proximitypopulationtotal_bedroomstotal_rooms
target
households1.000000-0.033117-0.228332-0.238521-0.480431-0.709492-0.0310460.6992910.8633130.600059
housing_median_age-0.1995051.000000-0.160107-0.014596-0.390111-0.6336360.100260-0.309690-0.194402-0.188262
latitude-0.461125-0.1835431.0000000.888194-0.508373-0.3345820.306464-0.469055-0.438501-0.509540
longitude-0.437815-0.1774130.8904041.000000-0.492650-0.4057720.235745-0.411796-0.471071-0.438698
median_house_value-0.565020-0.1118780.0122240.0247171.0000000.2025770.252519-0.497250-0.512489-0.521057
median_income-0.530908-0.145296-0.189408-0.2667400.3880391.0000000.031145-0.463054-0.556742-0.395826
ocean_proximity-0.509021-0.1318880.3007990.332452-0.232148-0.4424051.000000-0.455126-0.387747-0.330846
population0.752003-0.093880-0.218145-0.279517-0.374136-0.692641-0.0237531.0000000.5973230.573640
total_bedrooms0.804482-0.009149-0.155362-0.034428-0.386696-0.664100-0.0202680.4377101.0000000.776632
total_rooms0.6504110.068705-0.187809-0.082844-0.337838-0.483644-0.0169090.5047890.8121881.000000
\n", "
" ], "text/plain": [ "feature households housing_median_age latitude longitude \\\n", "target \n", "households 1.000000 -0.033117 -0.228332 -0.238521 \n", "housing_median_age -0.199505 1.000000 -0.160107 -0.014596 \n", "latitude -0.461125 -0.183543 1.000000 0.888194 \n", "longitude -0.437815 -0.177413 0.890404 1.000000 \n", "median_house_value -0.565020 -0.111878 0.012224 0.024717 \n", "median_income -0.530908 -0.145296 -0.189408 -0.266740 \n", "ocean_proximity -0.509021 -0.131888 0.300799 0.332452 \n", "population 0.752003 -0.093880 -0.218145 -0.279517 \n", "total_bedrooms 0.804482 -0.009149 -0.155362 -0.034428 \n", "total_rooms 0.650411 0.068705 -0.187809 -0.082844 \n", "\n", "feature median_house_value median_income ocean_proximity \\\n", "target \n", "households -0.480431 -0.709492 -0.031046 \n", "housing_median_age -0.390111 -0.633636 0.100260 \n", "latitude -0.508373 -0.334582 0.306464 \n", "longitude -0.492650 -0.405772 0.235745 \n", "median_house_value 1.000000 0.202577 0.252519 \n", "median_income 0.388039 1.000000 0.031145 \n", "ocean_proximity -0.232148 -0.442405 1.000000 \n", "population -0.374136 -0.692641 -0.023753 \n", "total_bedrooms -0.386696 -0.664100 -0.020268 \n", "total_rooms -0.337838 -0.483644 -0.016909 \n", "\n", "feature population total_bedrooms total_rooms \n", "target \n", "households 0.699291 0.863313 0.600059 \n", "housing_median_age -0.309690 -0.194402 -0.188262 \n", "latitude -0.469055 -0.438501 -0.509540 \n", "longitude -0.411796 -0.471071 -0.438698 \n", "median_house_value -0.497250 -0.512489 -0.521057 \n", "median_income -0.463054 -0.556742 -0.395826 \n", "ocean_proximity -0.455126 -0.387747 -0.330846 \n", "population 1.000000 0.597323 0.573640 \n", "total_bedrooms 0.437710 1.000000 0.776632 \n", "total_rooms 0.504789 0.812188 1.000000 " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "beyond_corr = rel.pivot(index=\"target\", columns=\"feature\", values=\"score\").fillna(1)\n", "beyond_corr" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "sns.heatmap(beyond_corr, vmin=-1, vmax=1)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Exercise" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Additional Resources" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- [Real Python on Correlation](https://realpython.com/numpy-scipy-pandas-correlation-python/)\n", "- [Beyond Correlation](https://github.com/ianozsvald/beyond_correlation)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.3" } }, "nbformat": 4, "nbformat_minor": 4 }